// pages/goods_list/index.js
import {request} from "../../request/index.js"
import regeneratorRuntime from "../../lib/runtime/runtime.js";

Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs:[
      {
        id:0,
        value:'综合',
        isActive:true
      },
      {
        id:1,
        value:'销量',
        isActive:false
      },
      {
        id:2,
        value:'价格',
        isActive:false
      }
    ],
    goods_list:[]
  },

  // 接口要的参数
  QueryParmas:{
    query:"",
    cid:"",
    pagenum:1,
    pagesize:10
  },

  // 总页数
  totalPages:1,
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options)
    this.QueryParmas.cid = options.cid || ""; 
    this.QueryParmas.query = options.query || ""; 
    this.getGoodsList()
  },

   // 获取商品列表数据
   async getGoodsList(){
    const res = await request({
      url:'/goods/search',
      data:this.QueryParmas
    })

    // 获取总条数
    const total = res.total; 
    // 计算总页数
    this.totalPages = Math.ceil(total / this.QueryParmas.pagesize) 
    // console.log(this.totalPages)

    this.setData({
      // 拼接了数组
      goods_list: [...this.data.goods_list, ...res.goods]
    })
    // console.log(res)

    // 关闭下拉刷新的窗口
    wx.stopPullDownRefresh()
      
  },
   
  // 标题点击 
  handleTabsItemChange(e){
    // 1 获取被点击的标题索引
    const {index} = e.detail 
    // console.log(index) 
    // 2 修改源数据
    let {tabs} = this.data;
    tabs.forEach( (v,i)=>i === index ? v.isActive = true : v.isActive = false ) 
    // 3 赋值到 data 中
    this.setData({
      tabs
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
      console.log('下拉刷新')
      //1 重置数组
      this.setData({
        goods_list:[]
      }) 
      // 2 重置页码
      this. QueryParmas.pagenum = 1;
      // 3 发送请求
      this.getGoodsList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    // 判断是否有下一页
    if(this.QueryParmas.pagenum >= this.totalPages){
        // 没有下一页
        // console.log('没有下一页')
        wx.showToast({
          title: '没有下一页数据了' 
        });
          
    }else{
      // 还有下一页数据
      console.log('有下一页')
      this.QueryParmas.pagenum++;
      this.getGoodsList();
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})